package com.cskaoyan.javase.oop2.encapsulate._1extends._10final._3variable._4exercise;

/**
 * 语法练习题
 * @since 10:45
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        byte num1 = 0;
        byte num2 = 0;
        final byte num3 = 10;
        final byte num4 = 20;
        byte result;
        // 下列代码哪行能通过编译，哪行不能？
        // byte + byte = int
        // result = num1 + num2;

        result = num3 + num4;
        // 上述代码等价于下面代码
        result = 10 + 20;

        // 只要参与运算,表达式的结果就遵循表达式的类型提升
        /*
            byte short char变量参与运算,结果一律是int
         */
        // result = num1 + num3;

        final byte num5 = 120;
        // 整数常量以及它们的运算,可以自动根据结果判断是否在接收整型的取值范围内,如果不在取值范围内,是不能接收的
        // result = num4 + num5;
        short result2 = num4 + num5;
    }
}
